iT邦幫忙

2022 iThome 鐵人賽

DAY 21
0
自我挑戰組

老菜雞挑戰30天學爆Unity&C#會成功嗎?...系列 第 21

【Day21】老菜雞學下樓梯遊戲之Unity Animation Layers

  • 分享至 

  • xImage
  •  

前言

昨天改善了切換動畫的順暢度,接著要繼續試著讓動畫變的更進階...


Animation Layers

Unity利用Animation Layer來管理物件複雜的狀態,例如槍擊遊戲的動畫,人物就得用到至少兩層layers,上半身用於射擊,下半身則是步行。

可以從下方Animator的Layers去查看↓
https://ithelp.ithome.com.tw/upload/images/20221003/20152411IL1wUwp63r.jpg
Unity Documentation - Animation Layers

應用

現在除了有idle及run這兩個動畫之外,還想要製造Player受傷的效果,就是如果Player被尖刺刺到的話,他要同時播放另外一個動畫,例如讓身體變得紅紅的且一閃一閃的。所以現在我們要讓Player有兩層動畫,一個是run動畫,一個則是hurt動畫。

首先在Animator Layers這邊新增另外一層的動畫,有一個+號點下去,把它取名為Player Hurt
https://ithelp.ithome.com.tw/upload/images/20221003/20152411IfyJ7Sq49n.jpg

https://ithelp.ithome.com.tw/upload/images/20221003/20152411nOWGhAuQ0v.jpg

接著來新增Player受傷的動畫,點選player物件→Create New Clip取名為hurt
https://ithelp.ithome.com.tw/upload/images/20221003/20152411DQoHYe9mtF.jpg

https://ithelp.ithome.com.tw/upload/images/20221003/20152411ARWvlpB7wh.jpg

動畫的製作方法除了將圖片拉進去時間軸以外,還可以用錄製的方式,錄製就是它會記錄在這個物件上產生的任何變化。

點選紅色圈圈→將Player改成紅色的→出現了第一個影格→將Player改成白色的→出現第二個影格

成果

接著我們再回到Animator→Player Hurt→把hurt拉進去

由於目前的transition長這樣
https://ithelp.ithome.com.tw/upload/images/20221003/20152411r8BQseKn3r.jpg
不能遊戲一開始就變成hurt這個動畫,所以還要再另外新增一個不做任何動作的動畫=空白動畫
,我們把它取作null
https://ithelp.ithome.com.tw/upload/images/20221003/2015241196GtnuAieA.jpg

然後再回到Animator這裡先把hurt動畫刪掉,再把null拉進來,最後再把hurt拉進去並建立transition,現在Animator Transition長這樣↓
https://ithelp.ithome.com.tw/upload/images/20221003/20152411FzhIBvHpII.jpg


  • 參考網址:https://www.youtube.com/watch?v=nPW6tKeapsM&ab_channel=GrandmaCan-%E6%88%91%E9%98%BF%E5%AC%A4%E9%83%BD%E6%9C%83

  • 音效、圖片 : 遊戲素材
    (素材由安德斯提供,感謝大大/images/emoticon/emoticon41.gif)


上一篇
【Day20】老菜雞學下樓梯遊戲之Unity Transition properties
下一篇
【Day22】老菜雞學下樓梯遊戲之Unity動畫系統之複習(Animation Layer&Parameters&Transitions)
系列文
老菜雞挑戰30天學爆Unity&C#會成功嗎?...30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言